#ifndef CLI_H
#define CLI_H

#include <string>
#include <iostream>
#include <vector>
#include "rules.h"
#include "token.h"
#include "tree.h"

        /* інтерфейс командного рядка */

class Cli
{
public:
    Cli();
    std::string cli(); // введення початкових даних
    void printGrammar(const std::vector<Rules>&); // виведення правил граматики
    void printTokens(const std::vector<TokenEntry>&); // виведення таблиці лексем
    void printTree(TreeOutput*); // виведення синтаксичного дерева
    void printOperationTree(TreeOutput*); // виведення дерева операцій
    void printIdentificatorTable(const std::map<std::string, IdentificatorEntry>&); // виведення таблиці ідентифікаторів
};

#endif // CLI_H
